/**
 * 
 */
package neptune.web.server.repository;

import neptune.manager.builder.IPAddressRange;
import neptune.manager.model.topology.IPAddress;

/**
 * @author Roberto Bifulco [info@robertobifulco.it, robertobifulco.it]
 * @author Luigi Lorenzo Arpino [luigiarpino@yahoo.it]
 */
public interface ConfigurationRepository {

	public String getApplicationRootDirectoryName();
	
	public String getClusterFilePath();
	
	public String getTopologyRootDirectoryName();
	
	public String getTopologyRootDirectoryPath();

	public String getApplicationRootDirectoryPath();
	
	public boolean debugActive();

	public String getExperimentsDirPath();

	public IPAddress getBaseExperimentSubnet();
	
	public IPAddressRange getControlIPRange();

	public IPAddress getClusterSubnet();

	public String getVmTempRepDir();

	public String getExperimentsVMsDir();
	
	public String getLinkSubnet();
	
	/**
	 * Fornisce il path del file di confgurazione
	 * @return
	 */
	public String getConfigurationFilePath();
	
	/**
	 * Fornisce il path della cartella che contiene i templates
	 * @return
	 */
	public String getTemplatePath();
}
